//
//  flags.h
//  test
//
//  Created by Holmes Futrell on 11/13/08.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import "platform.h"

#define kGLTextureNoAlphaFlag		0x00000001
#define kGLTextureWrapModeRepeat	0x00000002
#define kGLTextureWrapModeClamp		0x00000004

#define kGLTextureFilterModeNearest 0x00000010
#define kGLTextureFilterModeLinear  0x00000020

#define kGLTextureFilterFlags		(kGLTextureFilterModeNearest|kGLTextureFilterModeLinear)

#define kGLTextureWrapFlags			(kGLTextureWrapModeClamp|kGLTextureWrapModeRepeat)

#define kGLTextureGenerateMipMaps   0x00000008
#define kGLTextureMipMapTrilinear   0x00000030

#define kGLTextureFlags				0x0000FFFF

/* sprite flags */
#define kGLSpriteCenterModeCenter	0x00010000
#define kGLSpriteCenterModeTopLeft	0x00020000

#define kGLSpriteCenterModeFlags	(kGLSpriteCenterModeCenter|kGLSpriteCenterModeTopLeft)

@interface GLTexture : NSObject {
	GLuint descriptor;
	GLuint width, height;
	GLuint internalWidth, internalHeight;
}

@property (readonly) GLuint descriptor, width, height, internalWidth, internalHeight;

-(id)initWithFile:(NSString *)file;
-(id)initWithFile:(NSString *)file flags:(unsigned int)flags;
-(id)initWithSize:(CGSize)size flags:(unsigned int)flags;

@end
